package com.tiancheng.trade.settlement.vo.settlement.admin;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.StringUtils;

/**
 * @Auther: lzh
 * @Date: 2024/4/26 15:38
 * @Param ${tags}
 * @Description:汇总对账查询条件
 */
@Data
@ToString
@JsonIgnoreProperties(ignoreUnknown = true)
public class SettlementReconQueryVO {

    //清分日期
    private String clearDate;

    //清分开始日期
    @JsonProperty("start_date")
    private String startDate;

    //清分结束日期
    @JsonProperty("end_date")
    private String endDate;

    //对账开始日期
    @JsonProperty("bill_date_begin")
    private String billDateBegin;

    //对账结束日期
    @JsonProperty("bill_date_end")
    private String billDateEnd;

    //是否有差异未处理
    @JsonProperty("is_error")
    private String isError;

    //平台商户号
    @JsonProperty("sub_mch_id")
    private String subMchId;

    //付款方账户名
    @JsonProperty("pay_acct_name")
    private String payAcctName;

    //收款账方名称
    @JsonProperty("col_acct_name")
    private String colAcctName;

    @JsonProperty("current_page")
    private Integer currentPage;

    @JsonProperty("page_size")
    private Integer pageSize;

    public Integer getCurrentPage() {
        if (null == currentPage || currentPage < 0) {
            currentPage = 1;
        }
        return currentPage;
    }

    public Integer getPageSize() {
        if (null == pageSize) {
            pageSize = 20;
        }
        return pageSize;
    }

    public String getSubMchId() {
        if (StringUtils.isNotEmpty(subMchId)) {
            subMchId = subMchId.trim();
        }
        return subMchId;
    }

    public String getPayAcctName() {
        if (StringUtils.isNotEmpty(payAcctName)) {
            payAcctName = payAcctName.trim();
        }
        return payAcctName;
    }

    public String getColAcctName() {
        if (StringUtils.isNotEmpty(colAcctName)) {
            colAcctName = colAcctName.trim();
        }
        return colAcctName;
    }

}
